//
//
// Fonction chargerFichier() permettant l'actualisation d'un bloc et l'envoi de varaibles à un script PHP
// Baptiste Judic
// 12/02/09
//
//

function envoiAjax(donnee, div, php) {
  
  if (typeof(donnee) == 'object') {

    var donnee_envoyee = '';
    for(i=0; i<donnee.elements.length; i++){
      if (i > 0) {
        donnee_envoyee += '&';
      }
      
      if (donnee.elements[i].type == 'text') {
        donnee_envoyee += donnee.elements[i].name+'='+donnee.elements[i].value;    
      }
  
      if (donnee.elements[i].type == 'checkbox') {
        donnee_envoyee += donnee.elements[i].name+'='+donnee.elements[i].checked;
      }
      
    }
  }
  
  else {
    var donnee_envoyee = donnee;
  }

  //alert('div : '+div+' data : '+data+' php : '+php);
  var chargement=document.createElement('div');
  //Eventuelment rajouter les attributs que l'on veut (id class etc ...)
  chargement.setAttribute("class","chargement");
  chargement.setAttribute("id","chargement");
  document.getElementById(div).appendChild(chargement);
  //mettre du contenu
  chargement.innerHTML='<p>Traitement en cours...</p>';
  // Création de l'objet
  var XHR = new XHRConnection();		
  // Zone à remplir
  XHR.setRefreshArea(div);
  // Chargement de la page
  // Natures des paramètres			
  // 	+ string, fichier à charger
  // 	+ string, GET ou POST
  // 	+ ref, nom de la fonction de callBack

  //alert(donnee_envoyee);
  
  if (document.getElementById(div).style.display = "none") {
    afficher(div);
  } 
  
  XHR.sendAndLoad("index.php?fichier_ajax="+php+".php&"+donnee_envoyee, "GET");
    
  // return false pour ne pas diriger l'utilisateur vers la page action du formulaire
  return false;
  
}



//
//
// Fonction selectionCours() permettant la modification de l'affichage de la liste de cours lorsque l'un d'entre eux est déjà selectionné
// Baptiste Judic
// 12/02/09
//
//

function selectionCours(id) {
  // Affiche le message indiquant que le cours est déjà dans la selection
  if (span = document.getElementById('cours_selectionne_'+id)) {
    span.style.display = 'inline';
  }
  if (span20 = document.getElementById('cours_selectionne_t20_'+id)) {
    span20.style.display = 'inline';
  }
  if (li = document.getElementById('li_'+id)) {
    var li_class = li.className;
    li.className= li_class+' cours_selectionne';
  }
  if (li_20 = document.getElementById('li_20_'+id)) {
    var li_20_class = li_20.className;
    li_20.className= li_20_class+' cours_selectionne'; 
  }
}


//
//
// Fonction afficher() permettant d'afficher un élement en utilisant son ID
// Baptiste Judic
// 15/06/09
//
//

function afficher(id) {
  if (document.getElementById(id)) {
    $("#"+id).fadeIn("slow");
  }
}


//
//
// Fonction cacher() permettant de cacher un élement en utilisant son ID
// Baptiste Judic
// 15/06/09
//
//

function cacher(id) {
  if (document.getElementById(id)) {
    $("#"+id).fadeOut("slow");
  }
}

//
//
// Fonction print_r() utile pour debugger
// Baptiste Judic
// 26/06/09
//
//

function print_r(obj) {
  win_print_r = window.open('about:blank', 'win_print_r');
  win_print_r.document.write('<html><body>');
  r_print_r(obj, win_print_r);
  win_print_r.document.write('</body></html>');
 }

 function r_print_r(theObj, win_print_r) {
  if(theObj.constructor == Array ||
   theObj.constructor == Object){
   if (win_print_r == null)
    win_print_r = window.open('about:blank', 'win_print_r');
   }
   for(var p in theObj){
    if(theObj[p].constructor == Array||
     theObj[p].constructor == Object){
     win_print_r.document.write("<li>["+p+"] =>"+typeof(theObj)+"</li>");
     win_print_r.document.write("<ul>")
     r_print_r(theObj[p], win_print_r);
     win_print_r.document.write("</ul>")
    } else {
     win_print_r.document.write("<li>["+p+"] =>"+theObj[p]+"</li>");
    }
   }
  win_print_r.document.write("</ul>")
 }
